﻿Public Class frmStatystykiPracownik

    Private mvarZlecenia As clsTrStatystyki
    Private mvarDbHolder As clsDataBase
    Private mvarUzytkownik As clsUzytkownik

    Public Sub New()

        ' To wywołanie jest wymagane przez projektanta.
        InitializeComponent()

        ' Dodaj inicjację po wywołaniu funkcji InitializeComponent().
        mvarDbHolder = New clsDataBase(VAR_CONNECTION_PARAMETERS, VAR_ERROR_HANDLER)

        mvarUzytkownik = clsUzytkownik.Instance()

        PobierzWszystkichPracownikow()

    End Sub


    Private Sub PobierzWszystkichPracownikow()

        Dim lvarDataTable As New DataTable

        lvarDataTable = clsPracownik.PobierzWszystkichPracownikow(mvarDbHolder, VAR_ERROR_HANDLER)

        If Not lvarDataTable Is Nothing Then
            For Each lvarRow As DataRow In lvarDataTable.Rows
                If CBool(lvarRow("aktywny")) Then
                    cmbPracownik.Items.Add(New clsPracownik(CStr(lvarRow("id")), CStr(IIf(IsDBNull(lvarRow("numer")), String.Empty, lvarRow("numer"))), IIf(IsDBNull(lvarRow("imie")), String.Empty, lvarRow("imie")).ToString(), IIf(IsDBNull(lvarRow("nazwisko")), String.Empty, lvarRow("nazwisko")).ToString(), IIf(IsDBNull(lvarRow("login")), String.Empty, lvarRow("login")).ToString(), IIf(IsDBNull(lvarRow("haslo")), String.Empty, lvarRow("haslo")).ToString(), CBool(IIf(IsDBNull(lvarRow("aktywny")), String.Empty, lvarRow("aktywny")))))
                End If
            Next
        End If

    End Sub

    Private Sub Szukaj()

        Dim lvarCommand As String
        Dim lvarI As Integer
        Dim lvarSuma As Double
        Dim lvarWaga As Double
        If dtpOkresOd.Value.Date > dtpOkresDo.Value.Date Then
            MessageBox.Show("Wybierz poprawnie kryterium wyszukiwania", "WIREMET")
        Else
            If cmbPracownik.SelectedIndex <> -1 Then
                lvarCommand = " AND drut.pracownik_id =  " & CType(cmbPracownik.SelectedItem, clsPracownik).Id
            End If

            If dtpOkresOd.Checked Or dtpOkresDo.Checked Or chbOkres.Checked Then
                lvarCommand = lvarCommand & " AND drut.data_utworzenia :: date between '" & dtpOkresOd.Value.Date & "' AND '" & dtpOkresDo.Value.Date & "'"
            End If
        End If

        mvarZlecenia = New clsTrStatystyki
        mvarZlecenia.ZrobionyDrut(mvarDbHolder, lvarCommand)

        dgvDrut.Rows.Clear()
        If mvarZlecenia.Drut.Count = 0 Then
            MessageBox.Show("nie ma.", "WIREMET")
        Else
            For Each lvarDrut As clsInhTrDrut In mvarZlecenia.Drut
                lvarI += 1
                For Each lvarRodzic As clsTrRodzic In lvarDrut.Rodzic
                    lvarWaga = lvarWaga + CDbl(lvarRodzic.Waga)
                Next
                dgvDrut.Rows.Add(lvarI, lvarDrut.Id, lvarWaga)
                dgvDrut.Rows(dgvDrut.Rows.Count - 1).Tag = lvarDrut
                lvarSuma = lvarSuma + lvarWaga
                lvarWaga = 0
            Next
        End If

        txtIloscKg.Text = lvarSuma.ToString()
        lvarSuma = 0



        'Dim lvarCommand As String
        'Dim lvarI As Integer
        'Dim lvarSuma As Double
        ''dtpOkresOd.Checked = False And dtpOkresDo.Checked = False And chbOkres.Checked = False And
        'If cmbPracownik.SelectedIndex = -1 Then
        '    MessageBox.Show("Nie wybrano pracownika." & vbNewLine & "WIDOK PRZEDSTAWIA WYSŁANE ZLECENIA.", "WIREMET")
        'Else
        '    If dtpOkresOd.Value.Date > dtpOkresDo.Value.Date Then
        '        MessageBox.Show("Wybierz poprawnie kryterium wyszukiwania", "WIREMET")
        '    Else
        '        If cmbPracownik.SelectedIndex <> -1 Then
        '            lvarCommand = lvarCommand + " AND pracownik.id = " & CType(cmbPracownik.SelectedItem, clsPracownik).Id
        '        End If
        '        If dtpOkresOd.Checked Or dtpOkresDo.Checked Or chbOkres.Checked Then
        '            lvarCommand = lvarCommand + " AND wysylka.data_wysylki :: date between '" & dtpOkresOd.Value.Date & "' AND '" & dtpOkresDo.Value.Date & "'"
        '        End If
        '    End If
        'End If

        'mvarZlecenia = New clsTrSzukanie
        'mvarZlecenia.PracownikSuma(mvarDbHolder, lvarCommand)

        'dgvInformacje.Rows.Clear()
        'If mvarZlecenia.ZleceniaTab.Rows.Count = 0 Then
        '    MessageBox.Show("nie ma.", "WIREMET")
        'Else
        '    For Each lvarRow As DataRow In mvarZlecenia.ZleceniaTab.Rows
        '        lvarI += 1
        '        dgvInformacje.Rows.Add(lvarI, lvarRow.Item("numer"), lvarRow.Item("klient"), CType(lvarRow.Item("data_wysylki"), Date).ToShortDateString, lvarRow.Item("suma"))
        '        lvarSuma = lvarSuma + CDbl(lvarRow.Item("suma"))
        '    Next
        '    dgvInformacje.Rows.Add(String.Empty, String.Empty, String.Empty, "RAZEM", lvarSuma)
        'End If






















    End Sub


    Private Sub cmdWyczyscSzczegoly_Click(sender As System.Object, e As System.EventArgs) Handles cmdWyczyscSzczegoly.Click

        cmbPracownik.SelectedIndex = -1
        dtpOkresOd.Text = Now.ToShortDateString()
        dtpOkresDo.Text = Now.ToShortDateString()
    
    End Sub

    Private Sub cmdSzukaj_Click(sender As System.Object, e As System.EventArgs) Handles cmdSzukaj.Click
        Szukaj()
    End Sub



    Private Sub frmSzukajZlecenia_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        mvarDbHolder.Close()
    End Sub

#Region "Changed"

    Private Sub dtpOkresOd_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpOkresOd.TextChanged
        chbOkres.Checked = True
    End Sub

    Private Sub dtpOkresDo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpOkresDo.TextChanged
        chbOkres.Checked = True
    End Sub

#End Region


End Class